package com.regentsoft.cloudback.operateAdmin.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.regentsoft.cloudback.base.BaseMapper;
import com.regentsoft.cloudback.operateAdmin.entity.Company;
import com.regentsoft.cloudback.vo.ActivationVo;
import com.regentsoft.cloudback.vo.CompanyDetailVo;

/**
 * 
 * @author czd
 *
 * @date 2017年11月25日
 *
 * @version 1.0
 */
public interface CompanyMapper extends BaseMapper<Company, java.lang.String> {
	/**
	 * 检查激活码唯一性
	 * @param activationCode
	 * @return
	 */
	int findByActivationCode(String activationCode);
	/**
	 * 检查企业编码唯一性
	 * @param activationCode
	 * @return
	 */
	int findByCode(String code);
	/**
	 * 根据code查找企业信息
	 * @param code
	 * @return
	 */
	Company findCompanyByCode(@Param("code") String code);
	/**
	 * 初始化企业数据库
	 * @param db 
	 */
	void initCompanyDB(@Param("db") String db);
	/**
	 * 批量删除企业
	 * @param ids
	 */
	int deleteByCodes(@Param("codes") List<String> codes);
	/**
	 * 删除企业对应的数据库
	 * @param code
	 */
	int deleteDbs(@Param("code") String code);
	/**
	 * 企业详情
	 * @param companyId
	 * @return
	 */
	CompanyDetailVo companyDetail(String companyId);
	/**
	 * 获取企业激活码列表
	 * @param companyId
	 * @return
	 */
	List<ActivationVo> getActivationList(String companyId);
	
	void updateByCode(Company company);
	
	List<String> getCompanyIds(@Param("codes") String codes);
	void createGetSerialNumberPro(@Param("code") String code);
	/*void initOrderSerialNumber(@Param("code") String code);*/
	void createKs2OptionTbl(@Param("code") String code);
	

}
